.so ../bk-macros
.TH "bk sfio" "\*[BKVER]" %E% "\*(BC" "\*(UM"
.SH NAME
bk sfio \- \*(BK file archiver
.SH SYNOPSIS
.B bk sfio
.[B] \-qm
.B \-i <
.ARG archive.sfio
.br
.B bk sfio
.[B] \-m
.B \-p <
.ARG archive.sfio
.br
.B bk sfio
.[B] \-qmf
.B \-o < 
.ARG filelist
.SH DESCRIPTION
.LP
The
.B bk sfio 
command is similar to
.BR cpio (1).
It exists because we were unable to find a single CPIO format which was
portable across all of our supported platforms.
.LP
.B bk sfio 
is used to transfer data during 
.B bk import
and 
.B bk clone
commands.
.LP
There are three ways to run sfio, as listed above.
The first creates files from an archive,
the second lists the contents of an archive,
and the third creates an archive from the specified list of files.
.SH OPTIONS
.TP 
.B \-e
Echo mode. After each file is archived or extracted print the file to stdout.
This is separate from the print to stderr controlled by
.QR \-q .
It is intended to be used by programs that want to perform actions after
each file is unpacked when reading over a slow pipe.
.tp
.B \-i
Extract all files from the archive.
.tp
.B \-m
Transfer file modes (default not to do so).  If the archive was created
with 
.Q \-m
then it must be extracted with
.QR \-m .
We will not turn this on by default, transferring the file modes is not
always the correct answer so we force it to be explicit.
.tp
.B \-o
Create an archive.
.tp
.B \-p
List contents of an archive.
.tp
.B \-q
Quiet mode, when combined with the create or extract, does not list files
as they are added or extracted.
.tp
.B \-f
Force mode, when combined with extract, will overwrite existing files
that exist in the archive.
.SH NOTE
.LP
.Q \-m
will become the default in a future version of
.BR "bk sfio" .
.SH CATEGORY
.B Repository
